package me.zhengjie.modules.fund.service;

import me.zhengjie.modules.fund.domain.UserFundFlow;
import me.zhengjie.modules.fund.service.dto.UserFundFlowDto;
import me.zhengjie.modules.fund.service.dto.UserFundFlowQueryCriteria;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Set;

/**
 * 用户基金操作纪录
 */
public interface UserFundFlowService {

    /**
     * 插入用户基金操作纪录
     *
     * @param resources
     */
    void create(UserFundFlow resources);

    /**
     * 更新用户基金操作纪录
     *
     * @param resources
     */
    void update(UserFundFlow resources);

    /**
     * 删除
     *
     * @param ids 要删除的ids
     */
    void delete(Set<Long> ids);

    /**
     * 查询所有基金操作日志
     *
     * @param criteria 查询条件
     * @return
     */
    Page<UserFundFlowDto> queryAll(UserFundFlowQueryCriteria criteria, Pageable pageable);

    /**
     * 查询所有的操作纪录
     *
     * @param criteria
     * @return
     */
    List<UserFundFlowDto> queryAll(UserFundFlowQueryCriteria criteria);
}
